home *** CD-ROM | disk | FTP | other *** search
/ Digital Talk 55 / Digital_Talk_55_2002-06-10_Digital_Talk_de_Side_C.d64 / t&t joy + sprite (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  2KB  |  81 lines

  1. 0 :rem freisoft demo-spiel
  2. 1 :rem steuerung eines sprites
  3. 2 :rem mit dem joystick
  4. 3 :rem (dirk breitinger 2002)
  5. 4 :
  6. 5 :
  7. 10 :goto1000:----run
  8. 20 :save"@0:t&t  joy+sprite",8:return
  9. 24 :
  10. 25 :
  11. 26 :
  12. 27 :
  13. 30 :rem---set sprite
  14. 31 :pokev+1,y:pokev,xand255:pokev+16,-(x>=256):pokev+1,y:return
  15. 32 :
  16. 33 :
  17. 40 :p=.:jv=j:rem---get joystick
  18. 41 :j=31-peek(56320+p)and31:ifj=.then:k=j:goto41:
  19. 42 :ju=sgn((jand2)-(jand1)):jr=sgn((jand8)-(jand4)):jf=-(j>15):return:
  20. 43 :
  21. 44 :
  22. 50 :rem----hubschrauber-sprite
  23. 52 :data,,,,,,,,,,,,,,,,,,,,,,,,127,255,254,128,32,,,112,62,63,255,242,65,3
  24. 53 :data242,65,123,254,67,123,192,127,123,,127,2,,63,254,,136,4,16,127,255
  25. 54 :data224,,,,97
  26. 55 :
  27. 56 :
  28. 57 :
  29. 100 :nr=.:nb=11:rem----sprite-install
  30. 105 :br=peek(648)*256:vb=(peek(648)and192)*256::kx=-25:ky=-42:bx=3:by=2
  31. 106 :a=vb+nb*64:fori=.to63:readq:pokea+i,q:next:pokebr+1016+nr,a/64:return
  32. 107 :
  33. 108 :
  34. 109 :
  35. 110 :rem---sprite-steuerung
  36. 111 :v=53248:pokev1+21,.:pokev+27,(peek(v+27)and254):pokev+39,f:gosub30:
  37. 112 :pokev+31,.:pokev+21,1
  38. 120 :gosub30:ks=peek(v+31)orpeek(v+30):ifksgoto150:
  39. 121 :xv=x:yv=y:gosub40:rem---joystick
  40. 122 :k=k-2*(k<4)-4*(k>3andk<8):ifj<>jvthen:k=k/1.5
  41. 123 :x=x+jr*k:ifx<15orx>330then:x=15-315*(x>15):k=.
  42. 124 :y=y+ju*k:ify<42ory>235then:y=42-193*(y>42):k=.
  43. 125 :on1+jfgoto120:ko=-1:return
  44. 127 :
  45. 128 :
  46. 129 :
  47. 150 :rem----kollisiion auswerten
  48. 151 :px=br+int((x+kx)/8)-(jr=1):py=int((y+ky)/8)-(ju=1):bp=px+py*40
  49. 152 :fori=1toby:gosub156:bp=bp-(peek(bp)=32)*(40-bx+1):next
  50. 153 :on-(jr<>.andpeek(bp)=32)gosub156
  51. 154 :ifpeek(bp)=32then:bp=b0+1:fori=1toby:bp=bp+(peek(bp)=32)*40:next
  52. 155 :ko=peek(bp):return:
  53. 156 :forj=1tobx-1:bp=bp-(peek(bp)=32):next:b0=bp:return:
  54. 157 :
  55. 158 :
  56. 159 :
  57. 200 :rem---aktion
  58. 201 :ifko=32then:return:
  59. 202 :aa=peek(bp):fori=1to10:pokebp,.:next:pokebp,aa:rem--zeichenblink
  60. 203 :x=xv:y=yv:k=.:gosub30:pokev+31,.:rem--position wiederherstellen
  61. 204 :print"    [157][157][157][157]"ko"[157]  ":return:
  62. 205 :pokev+30,.:return:
  63. 206 :
  64. 207 :
  65. 999 :
  66. 1000 :rem==============================
  67. 1001 :rem
  68. 1002 :rem    a u f r u f
  69. 1003 :rem
  70. 1004 :rem==============================
  71. 1005 :
  72. 1011 :print"[147]sprite-steuerung"
  73. 1012 :gosub100:rem--sprite inst.
  74. 1013 :poke214,10:print:printtab(25)"[150][214][214][157][157][214][214]":
  75. 1014 :poke214,16:print:printtab(6)"[153][218]":
  76. 1015 :
  77. 1100 :rem---sprite aufruf
  78. 1104 :f=13:x=100:y=100:gosub110:rem--ein
  79. 1105 :ifko>.then:gosub200:gosub120:goto1105:rem---auswerten
  80. 1106 :gosub202:pokev+21,.:rem---aus
  81.